Плохо! Плохо!:  0
Показано с 1 по 1 из 1

Тема: [MV] Сборка мини-плагинов

  1. #1
    Бывалый Аватар для Darchan Kaen
    Информация о пользователе
    Регистрация
    17.06.2013
    Адрес
    Одесса
    Сообщений
    851
    Записей в дневнике
    3
    Репутация: 47 Добавить или отнять репутацию

    По умолчанию [MV] Сборка мини-плагинов

    Автор: DarchanKaen

    Версия: 0.0 , только для MV

    Описание:
    Разные мини-плагины, может кому-то что-то пригодится.
    "Мини", потому что не оформлены до конца как полноценные плагины - с настройками, описаниями, итд.
    Вероятно будет полезно тем, кто сможет доработать код под себя и / или не хочет тащить более крупные плагины.

    Перечень мини-плагинов:
    Скорее всего, где-то в Интернете такие есть. И совместимость с другими плагинами не гарантируется, тут традиционно.
    1. ChangedFontSize - меняет размер шрифта в игре (если не хотите тащить плагин Янлфи на текст).
    2. NoMainMenuLoad - убирает из главного меню пункт "Загрузка" (если не хотите тащить плагин Янлфи на меню).
    3. MinMaxNumberInput - позволяет задавать минимальное и максимальное значение для Выбора числа (а не 1 - 9*кол-во разрядов, как по дефолту) в зависимости от значения переменных.
    4. DKR_TimerStyler - позволяет задавать размер, и цвет текста Таймера, а так же его местоположение на экране.
    5. DKR_HimeTimerStopDuringMessages - останавливает работающий Таймер при показе Сообщения, Диалога, Выбора предмета (для работы требует включенного в проект плагина "Timer Pause" от Hime) и запускает опосля.

    Коды мини-плагинов:
    Спойлер ChangedFontSize:

    Код:
    (function() {
    	
    	
    	Window_Base.prototype.standardFontSize = function() {
    		return 25;
    	};
    
    
    })();

    Спойлер NoMainMenuLoad:

    Код:
    (function() {
    
    	Window_TitleCommand.prototype.makeCommandList = function() {
    		this.addCommand(TextManager.newGame,   'newGame');
    		this.addCommand(TextManager.options,   'options');
    	};
    
    
    	Scene_Title.prototype.drawGameTitle = function() {
    		var x = 20;
    		var y = 25
    		var maxWidth = Graphics.width - x * 2;
    		var text = $dataSystem.gameTitle;
    		this._gameTitleSprite.bitmap.outlineColor = 'black';
    		this._gameTitleSprite.bitmap.outlineWidth = 8;
    		this._gameTitleSprite.bitmap.fontSize = 72;
    		this._gameTitleSprite.bitmap.drawText(text, x, y, maxWidth, 48, 'center');
    	};
    
    
    	Scene_Title.prototype.createCommandWindow = function() {
    		this._commandWindow = new Window_TitleCommand();
    		this._commandWindow.setHandler('newGame',  this.commandNewGame.bind(this));
    		this._commandWindow.setHandler('options',  this.commandOptions.bind(this));
    		this.addWindow(this._commandWindow);
    	};
    
    
    })();

    Спойлер MinMaxNumberInput:

    Код:
    (function() {
    	
    	let defaultValue = 1;
    	let minValueVarId = 22;
    	let maxValueVarId = 15;
    	
    	
    	Window_NumberInput.prototype.start = function() {
    		this._maxDigits = $gameMessage.numInputMaxDigits();
    		this._number = $gameVariables.value($gameMessage.numInputVariableId());
    		this._number = defaultValue;
    		this.updatePlacement();
    		this.placeButtons();
    		this.updateButtonsVisiblity();
    		this.createContents();
    		this.refresh();
    		this.open();
    		this.activate();
    		this.select(0);
    	};
    
    
    
    	Window_NumberInput.prototype.changeDigit = function(up) {
    			//console.log( 'MIN / MAX:', $gameVariables.value(minValueVarId), '/', $gameVariables.value(maxValueVarId) );
    		var index = this.index();
    		var place = Math.pow(10, this._maxDigits - 1 - index);
    		var n = Math.floor(this._number / place) % 10;
    		this._number -= n * place;
    		if (up) {
    			if( n < $gameVariables.value(maxValueVarId) ){
    				n = (n + 1) % 10;
    			}else{
    				SoundManager.playBuzzer();
    			}
    		} else {
    			if( n > $gameVariables.value(minValueVarId) ){
    				n = (n + 9) % 10;
    			}else{
    				SoundManager.playBuzzer();
    			}
    		}
    		this._number += n * place;
    		this.refresh();
    		SoundManager.playCursor();
    	};
    		
    	
    	
    })();

    Спойлер DKR_TimerStyler:

    Код:
    var Imported = Imported || {};
    Imported.DKR_TimerStyler = true;
    
    var DKR = DKR || {};          
    DKR.TimerStyler = DKR.TimerStyler || {}; 
    DKR.TimerStyler.version = 1.0;
    
    
    ( () => {
    	
    
    
    	Sprite_Timer.prototype.createBitmap = function() {
    		this.bitmap = new Bitmap(96, 48);
    		this.bitmap.fontSize = 32;
    		this.bitmap.textColor = '#ff0000';
    	};
    	
    	
    	Sprite_Timer.prototype.updatePosition = function() {
    		this.x = Graphics.width - this.bitmap.width;
    		this.y = 578;
    	};
    	
    	
    	
    })();

    Спойлер DKR_HimeTimerStopDuringMessages:

    Код:
    var Imported = Imported || {};
    Imported.DKR_HimeTimerStopDuringMessages = true;
    
    var DKR = DKR || {};          
    DKR.HimeTimerStopDuringMessages = DKR.HimeTimerStopDuringMessages || {}; 
    DKR.HimeTimerStopDuringMessages.version = 1.0;
    
    
    /*
    FOR STOP AND RESUME TIMER, PLUGIN USE HIME PLUGIN "HIME_TimerPause"!!!
    */
    
    
    ( () => {
    	
    
    
    //----MODIFY SHOW MESSAGE COMMAND
    Game_Interpreter.prototype.command101 = function() {
        if (!$gameMessage.isBusy()) {
            $gameMessage.setFaceImage(this._params[0], this._params[1]);
            $gameMessage.setBackground(this._params[2]);
            $gameMessage.setPositionType(this._params[3]);
            while (this.nextEventCode() === 401) {  // Text data
                this._index++;
                $gameMessage.add(this.currentCommand().parameters[0]);
            }
            switch (this.nextEventCode()) {
            case 102:  // Show Choices
                this._index++;
                this.setupChoices(this.currentCommand().parameters);
                break;
            case 103:  // Input Number
                this._index++;
                this.setupNumInput(this.currentCommand().parameters);
                break;
            case 104:  // Select Item
                this._index++;
                this.setupItemChoice(this.currentCommand().parameters);
                break;
            }
            this._index++;
            this.setWaitMode('message');
    		
    		//--modify: stop timer
    		$gameTimer.pause();
        }
        return false;
    };
    
    
    //----MODIFY SHOW CHOICE COMMAND
    Game_Interpreter.prototype.command102 = function() {
        if (!$gameMessage.isBusy()) {
            this.setupChoices(this._params);
            this._index++;
            this.setWaitMode('message');
    		
    		//--modify: stop timer
    		$gameTimer.pause();
        }
        return false;
    };
    
    
    //----MODIFY SELECT ITEM COMMAND
    Game_Interpreter.prototype.command104 = function() {
        if (!$gameMessage.isBusy()) {
            this.setupItemChoice(this._params);
            this._index++;
            this.setWaitMode('message');
    		
    		//--modify: stop timer
    		$gameTimer.pause();
        }
        return false;
    };	
    	
    	
    //----MODIFY CLOSE MESSAGE / CHOICE / SELECT ITEM WINDOW LOGIC
    Window_Message.prototype.terminateMessage = function() {
        this.close();
        this._goldWindow.close();
        $gameMessage.clear();
    	
    	//--modify: resume timer
    	$gameTimer.resume();
    };
    	
    	
    	
    })();


    Т.к. плагины требуют доработок "под себя", ссылки на скачивание не приводятся.
    Есть же код. =)

    Зачем выкладываю? В ближайшее время у меня не дойдут руки их доработать, но может кому-то пригодятся.
    Последний раз редактировалось Darchan Kaen; 25.12.2021 в 23:14.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
[MV] Сборка мини-плагинов